The present invention relates to a data-management system and a data-management method for adequately and efficiently managing data shared by several machines connected to a network.
Database systems for real-time monitoring and controlling of data shared by computers distributed over a network have to process (search and update) a huge amount of data at a high speed. Such database performance thus depends on data-management systems that provide a means of accessing those data. Enhanced data-management systems could manage all data on a main-memory area, which are usually stored on an external storage device such as a hard disk. Increased storage capacity for main memories has allowed all data to remain in a main-memory area as resident data even in the present hardware environments.
Mere caching of a data-managing system on a main-memory area to known external storage devices cannot achieve high performance for real-time applications. There are two reasons for such a drawback: (1) a huge amount of data has to be transferred between an application and a data-managing system; and (2) execution of algorithms designed for disc storage devices on a main-memory area of each computer cannot achieve high performance. In addition, limited functions of such algorithms designed for disc storage devices and provided by a data-managing system cannot lighten loads for development of applications, nonetheless achieving high-speed processing a little bit.
Moreover, known data management systems have drawbacks discussed below.
The known systems employ a client/server architecture in which one server holds and manages original data due to difficulty in management of the identical data shared by several machines distributed in a network. The server at which original data is resident however takes a heavy burden in which it has to respond to requests from several machines, thus causing a low processing efficiency.
In the known systems, every machine accesses the server that holds and manages original data even in transaction procedures for data looking-up with no updating. This causes decrease in access speed by the time of going through a network and also low transaction processing efficiency due to a heavy network traffic.
An application program running at each machine in the known system has to check at which server original data is resident, thus the application program cannot access necessary data immediately.
The known systems have to suspend procedures requested by several machines to access data while an application program running at one particular machine is applying an updating procedure to the same data, thus causing low throughput for transaction processing.